essayez d'ajouter une définition de colonne
@Enumerated(EnumType.STRING)
@Column(name = "SEX" , columnDefinition="ENUM('M','S')" ,nullable = false )
private Sex sex;
hibernate validate do check types , length .... comme vous l'avez dans le validateur de niveau db pense que c'est un type différent .
Je ne l'ai pas vu avec Oracle , mais avec MySql c'est peut-être