Проверка работает после разрешения типа аргумента. Поэтому я не вижу способа использовать аннотации проверки строк в перечислениях. В качестве обходного пути вы можете использовать @JsonCreator и выполнить некоторую проверку перед созданием объекта.
public enum EnumType {
A,
B,
C;
@JsonCreator
public static EnumType from(String s) {
// add your logic here, for example
/*
if (Stream.of(values()).map(Enum::name).noneMatch(name -> name.equals(s))) {
throw new MyServiceException("Bad value " + s);
}
*/
return valueOf(s);
}
}