Не мога да си припиша заслугата за този отговор, тъй като вече сте го решили, но ще обясня защо работи.
PostgreSQL дава отговора, когато казва
Кодът на Java създава стойност на низов литерал, който представлява типът gendertype на Java enum.
Прехвърлянето на литерал към тип пол на PostgreSQL се извършва чрез добавяне на суфикс за преобразуване към стойността ::gender
.
Така валиден вход би бил
'F'::gender
или
'M'::gender
Това работи, защото всички типове PostgreSQL имат метод за въвеждане, който приема текстово представяне и го преобразува във вътрешна форма.