code: private EnumElement readEnumElement(String documentation) {
      String name = readName();
      EnumElement.Builder builder = EnumElement.builder()
          .name(name)
          .qualifiedName(prefix + name)
          .documentation(documentation);
  
      if (readChar() != '{') throw unexpected("expected '{'");
      while (true) {
        String valueDocumentation = readDocumentation();
        if (peekChar() == '}') {
          pos++;
          break;
        }
        Object declared = readDeclaration(valueDocumentation, Context.ENUM);
        if (declared instanceof EnumConstantElement) {
          builder.addConstant((EnumConstantElement) declared);
        } else if (declared instanceof OptionElement) {
          builder.addOption((OptionElement) declared);
        }
      }
      return builder.build();
    }
docs: Reads an enumerated type declaration and returns it.