code: public static ExtensionFieldType<?> valueOf(String name) {
          switch (name) {
              case "STRING":
                  return STRING;
              case "INTEGER":
                  return INTEGER;
              case "DECIMAL":
                  return DECIMAL;
              case "BOOLEAN":
                  return BOOLEAN;
              case "DATE_TIME":
                  return DATE_TIME;
              case "BINARY":
                  return BINARY;
              case "REFERENCE":
                  return REFERENCE;
              default:
                  throw new IllegalArgumentException("Type " + name + " does not exist");
          }
      }
docs: Retrieves a {@link ExtensionFieldType} by its name.
  
  @param name the name of the {@link ExtensionFieldType} as it is returned by toString()
  @return the {@link ExtensionFieldType} based on the given name
  @throws IllegalArgumentException if there is no {@link ExtensionFieldType} with the given name