Non posso prendermi alcun merito per questa risposta poiché l'hai già risolto, ma spiegherò perché funziona.
PostgreSQL fornisce la risposta quando dice
Il codice Java sta creando un valore letterale stringa che rappresenta il tipo di genere enum di Java.
Il cast di un valore letterale a un tipo di genere PostgreSQL viene eseguito aggiungendo un suffisso di cast al valore ::gender
.
Quindi un input valido sarebbe
'F'::gender
o
'M'::gender
Funziona perché tutti i tipi PostgreSQL hanno un metodo di input che accetta una rappresentazione testuale e la converte nel modulo interno.