private void appendEnumDeclaration(@Nonnull Printer out) {
		int acc = classInfo.getAccess();

		// Get flag-set and remove 'enum' and 'final'.
		// We will add 'enum' ourselves, and 'final' is redundant.
		Set<AccessFlag> flagSet = AccessFlag.getApplicableFlags(AccessFlag.Type.CLASS, acc);
		flagSet.remove(AccessFlag.ACC_ENUM);
		flagSet.remove(AccessFlag.ACC_FINAL);
		String decFlagsString = AccessFlag.sortAndToString(AccessFlag.Type.CLASS, flagSet);
		StringBuilder sb = new StringBuilder();
		if (decFlagsString.isBlank()) {
			sb.append("enum ");
		} else {
			sb.append(decFlagsString).append(" enum ");
		}
		sb.append(format.filter(classInfo.getName()));
		String superName = classInfo.getSuperName();

		// Should normally extend enum. Technically bytecode allows for other types if those at runtime then
		// inherit from Enum.
		if (superName != null && !superName.equals("java/lang/Enum")) {
			sb.append(" extends ").append(format.filter(superName));
		}
		if (!classInfo.getInterfaces().isEmpty()) {
			sb.append(" implements ");
			String interfaces = classInfo.getInterfaces().stream()
					.map(format::filter)
					.collect(Collectors.joining(", "));
			sb.append(interfaces);
		}
		out.appendLine(sb.toString());
	}
Appends the enum formatted declaration to the output.

@param out
		Printer to write to.
recaf-core/src/main/java/software/coley/recaf/services/decompile/fallback/print/ClassPrinter.java