Jeg kan ikke tage æren for dette svar, da du allerede har løst det, men jeg vil forklare, hvorfor det virker.
PostgreSQL giver svaret, når der står
Java-koden opretter en streng literal værdi, der repræsenterer Java enum kønstype.
Casting af en literal til en PostgreSQL kønstype udføres ved at tilføje et casting-suffiks til værdien ::gender
.
Så gyldigt input ville være
'F'::gender
eller
'M'::gender
Dette virker, fordi alle PostgreSQL-typer har en inputmetode, der tager en tekstrepræsentation og konverterer den til den interne form.