private String generateEnumValues(ModuleOption mo, ClassLoader moduleClassLoader) {
		// Attempt to convert back to com.acme.Foo$Bar form
		String canonical = mo.getType();
		String system = canonical.replaceAll("(.*\\p{Upper}[^\\.]*)\\.(\\p{Upper}.*)", "$1\\$$2");
		Class<?> clazz = null;
		try {
			clazz = Class.forName(system, false, moduleClassLoader);
		}
		catch (ClassNotFoundException e) {
			return "";
		}
		if (Enum.class.isAssignableFrom(clazz)) {
			String values = StringUtils.arrayToCommaDelimitedString(clazz.getEnumConstants());
			return String.format(", possible values: `%s`", values);
		}
		else
			return "";
	}
When the type of an option is an enum, document all possible values
documentation-toolchain/src/main/java/org/springframework/xd/documentation/ModuleOptionsReferenceDoc.java