@Override
	public ColumnConstraint<T> parseConstraintValue(String newValue, Object dataSource) {
		// Expecting a string in the form:  {value1, value2, value3, etc. }

		Set<T> values = new HashSet<>();

		newValue = newValue.trim();
		if (newValue.charAt(0) == '{' && newValue.charAt(newValue.length() - 1) == '}') {

			// First remove the surrounding braces...
			String substring = newValue.substring(1, newValue.length() - 1);
			String[] split = substring.split("\\s*,\\s*");

			for (String string : split) {
				try {
					T value = Enum.valueOf(enumClass, string.trim());
					values.add(value);
				}
				catch (IllegalArgumentException iae) {
					// The value of 'string' can't be resolved into a
					// value of T; ignore it and move on
				}

			}
		}

		return new EnumColumnConstraint<>(enumClass, values);
	}
Returns the set of acceptable (matching) Enum values that are acceptable to this constraint.

@return the set of acceptable (matching) Enum values that are acceptable to this constraint.
Ghidra/Framework/Docking/src/main/java/docking/widgets/table/constraint/EnumColumnConstraint.java