public <E extends Enum<E>> E getRequiredEnum(List<String> keyAliases, Class<E> klazz, Function<String, E> converter) {
        return Optional
                .ofNullable(getEnum(keyAliases, null, klazz, converter))
                .orElseThrow(() -> InvalidOptionConfigurationException.requiredValue(keyAliases, "enum"));
    }
As {@link #getEnum(List, Enum, Function)}, but additionally throw an exception if no value is provided.

@param keyAliases the key aliases
@param klazz the target enum's class
@param converter a converter function to transform from String to Enum
@param <E> target enum type
@return the parsed enum, or the default value if none provided.
common/config/src/main/java/io/apiman/common/config/options/GenericOptionsParser.java