Se dai a Hibernate una definizione di colonna, non proverà a indovinarne una:
@Column(columnDefinition = "enum('MALE','FEMALE')")
@Enumerated(EnumType.STRING)
private Gender gender;
Se per qualsiasi motivo non fai affidamento su Hibernate per generare il tuo schema, non devi nemmeno fornire valori reali per columnDefinition. In questo modo, rimuovi un'istanza in cui devi mantenere sincronizzati i valori. Tieni sincronizzati il tuo enum Java e il tuo script Liquibase o SQL:
@Column(columnDefinition = "enum('DUMMY')")
@Enumerated(EnumType.STRING)
private ManyValuedEnum manyValuedEnum;