@Override
  public Enum<?> convertFromText(String value, Class<?> targetType, String optionContext) {
    // defined enum value can not have "-" in them, but the values passed in from gfsh command
    // would usually use "-" instead of "_";
    value = value.replace("-", "_");
    Enum<?> result = null;
    try {
      result = delegate.convertFromText(value, targetType, optionContext);
    } catch (Exception e) {
      // try using upper case again
      result = delegate.convertFromText(value.toUpperCase(), targetType, optionContext);
    }
    return result;
  }
we can not directly use Spring's EnumConverter because we have some Enum types that does not
directly translate from name to the enum type, e.g IndexType. IndexType will use a special
converter to convert to enum type, so we need a way to disable this converter

This needs to implement the interface, instead of extend the EnumConverter directly because the
FastPathScanner can only find classes directly implement an interface

Our EnumConverter also has the extra functionality of converting dash into underscore and auto
upper-case to try to match the Enum defined.
geode-gfsh/src/main/java/org/apache/geode/management/internal/cli/converters/EnumConverter.java