public <E extends Enum<E>> EnumStrategy findStrategy(QualifiedType<E> type) {
        Class<?> erasedType = getErasedType(type.getType());
        return JdbiOptionals.findFirstPresent(
            () -> doFindStrategy(type),
            () -> doFindStrategy(QualifiedType.of(erasedType).withAnnotations(registry.get(Qualifiers.class).findFor(erasedType)))
        ).orElseGet(() -> registry.get(Enums.class).getDefaultStrategy());
    }
Determines which strategy is to be used for a given {@link QualifiedType}, falling back to
reading strategy annotations on the source class and/or using the configured default.

@param <E> the {@link Enum} type
@param type qualified type to derive a strategy from
@return the strategy by which this enum should be handled
core/src/main/java/org/jdbi/v3/core/internal/EnumStrategies.java