docs: @Override
    public T decode(final String s) {
      checkNotNull(s);
      try {
        return Enum.valueOf(type, s);
      } catch (final IllegalArgumentException ignored) {
      }
      try {
        return Enum.valueOf(type, s.toUpperCase());
      } catch (final IllegalArgumentException ignored) {
      }
      try {
        return Enum.valueOf(type, s.toLowerCase());
      } catch (final IllegalArgumentException ignored) {
      }
  
      throw new ConversionException(
          "Unable to instantiate a " + type + " from value " + s + ". Valid values: " + Joiner
              .on(", ").join(EnumSet.allOf(type)));
    }