On closer inspection I have the feeling that this might be caused by not choosing the correct JdbcType. SmallIntTypeDescriptor is chosen rather than e.g. VarcharJdbcType - indicating that the @Enumerated( EnumType.STRING ) is ignored.