code: private EnumElement readEnumElement(Location location, String documentation) {
      String name = reader.readName();
  
      ImmutableList.Builder<EnumConstantElement> constants = ImmutableList.builder();
      ImmutableList.Builder<OptionElement> options = ImmutableList.builder();
      reader.require('{');
      while (true) {
        String valueDocumentation = reader.readDocumentation();
        if (reader.peekChar('}')) break;
  
        Object declared = readDeclaration(valueDocumentation, Context.ENUM);
        if (declared instanceof EnumConstantElement) {
          constants.add((EnumConstantElement) declared);
        } else if (declared instanceof OptionElement) {
          options.add((OptionElement) declared);
        }
      }
      return new EnumElement(location, name, documentation, options.build(), constants.build());
    }
docs: Reads an enumerated type declaration and returns it.