- final Object optional = enumConstructor.invoke(null, from.toString().toLowerCase(Locale.ROOT));
- if (optional instanceof Optional) {
- return ((Optional<Object>)optional).orElseThrow();
+ if (enumConstructor.getReturnType().equals(propertyType)) {
+ return enumConstructor.invoke(null, from.toString().toLowerCase(Locale.ROOT));