@Override
	protected void parseInternal() throws MDException {
		char code = dmang.getAndIncrement();
		switch (code) {
			case '0':
				enumTypeName = "enum char";
				underlyingTypeName = "char";
				underlyingFullTypeName = underlyingTypeName;
				break;
			case '1':
				enumTypeName = "enum unsigned char";
				underlyingTypeName = "char";
				underlyingFullTypeName = "unsigned char";
				// setUnsigned();
				break;
			case '2':
				enumTypeName = "enum short";
				underlyingTypeName = "short";
				underlyingFullTypeName = underlyingTypeName;
				break;
			case '3':
				enumTypeName = "enum unsigned short";
				underlyingTypeName = "short";
				underlyingFullTypeName = "unsigned short";
				// setUnsigned();
				break;
			case '4':
				enumTypeName = "enum";
				underlyingTypeName = "int";
				underlyingFullTypeName = underlyingTypeName;
				break;
			case '5':
				enumTypeName = "enum unsigned int";
				underlyingTypeName = "int";
				underlyingFullTypeName = "unsigned int";
				// setUnsigned();
				break;
			case '6':
				enumTypeName = "enum long";
				underlyingTypeName = "long";
				underlyingFullTypeName = underlyingTypeName;
				break;
			case '7':
				enumTypeName = "enum unsigned long";
				underlyingTypeName = "long";
				underlyingFullTypeName = "unsigned long";
				// setUnsigned();
				break;
			default:
				throw new MDException("Enum code not expected: " + code);
		}
		// This pushpop is for the "type" of enum.  There is an encompassing push/pop in
		//  MDParsableType.
		dmang.parseInfoPushPop(1, enumTypeName);
		super.parseInternal();
	}
This class represents an enum type of "complex" data type within a Microsoft mangled symbol.
Ghidra/Features/MicrosoftDmang/src/main/java/mdemangler/datatype/complex/MDEnumType.java