private static boolean isMatchingEnum(Enum newEnum, Enum oldEnum) {
		String[] names = newEnum.getNames();
		int totalNames = names.length;
		int nameMatches = 0;
		int exactMatches = 0;
		for (String name : names) {
			try {
				long newValue = newEnum.getValue(name);
				try {
					long oldValue = oldEnum.getValue(name);
					nameMatches++;
					if (newValue == oldValue) {
						exactMatches++;
					}
				}
				catch (NoSuchElementException e) {
					// Name didn't match so don't count.
				}
			}
			catch (NoSuchElementException e1) {
				Msg.error(DataTypeArchiveTransformer.class, "Couldn't get the value for the name " +
					name + " in enum " + newEnum.getName());
			}
		}
		// For now, this expects to match at least half of the name value pairs in the new enum.
		int threshold = totalNames / 2; // 50%
		if (exactMatches > 0 && exactMatches >= threshold) {
			return true;
		}
		if (nameMatches > 0) {
			Msg.info(DataTypeArchiveTransformer.class, "Enum " + newEnum.getName() + " had " +
				nameMatches + " name matches with " + oldEnum.getName());
		}
		return false;
	}
DataTypeArchiveTransformer changes (transforms) a new archive file so that it appears to be
an updated copy of a previously existing data type archive. This allows us to parse a new
version of each standard GDT file we supply. This class changes the IDs on the data types
so they will match the previous version's IDs. This allows the new data type archive and
its data types to become the associated data types where the previous version data types
were applied.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeArchiveTransformer.java