def METHOD_NAME(
		value: Union[str, FeatureFlag, None],
		optionsEnum: str,
		behaviorOfDefault: str
) -> FeatureFlag:
	""" Used in conjunction with configObj.Validator
	param value: The value to be validated / converted to a FeatureFlag object.
	Expected: "enabled", "disabled", "default"
	param behaviorOfDefault: Required, the default behavior of the flag, should be "enabled" or "disabled".
	"""
	log.debug(
		f"Validating feature flag: {value}"
		f", optionsEnum: {optionsEnum}"
		f", behaviorOfDefault: {behaviorOfDefault}"
	)
	if not isinstance(optionsEnum, str):
		raise ValidateError(
			'Spec Error: optionsEnum must be specified as a string'
			f" (got type {type(optionsEnum)} with value: {optionsEnum})"
		)
	try:
		OptionsEnumClass = dict(featureFlagEnums.getAvailableEnums())[optionsEnum]
	except KeyError:
		raise ValidateError(
			"Spec Error: optionsEnum must be an enum defined in the config.featureFlagEnums module."
			f" (got {optionsEnum})"
		)
	if not isinstance(behaviorOfDefault, str):
		raise ValidateError(
			'Spec Error: behaviorOfDefault must be specified as a valid'
			f' {OptionsEnumClass.__qualname__} member string'
			f" (got type {type(behaviorOfDefault)} with value: {behaviorOfDefault})"
		)
	try:
		behaviorOfDefault = OptionsEnumClass[behaviorOfDefault.upper()]
	except KeyError:
		raise ValidateError(
			"Spec Error: behaviorOfDefault must be specified as a valid enum member string for enum class "
			f"{OptionsEnumClass.__qualname__} (got {behaviorOfDefault})"
		)
	if behaviorOfDefault == OptionsEnumClass.DEFAULT:
		raise ValidateError("Spec Error: behaviorOfDefault must not be 'default'/'DEFAULT'")
	if isinstance(value, FeatureFlag):
		return value
	if not isinstance(value, str):
		raise ValidateError(
			'Expected a featureFlag value in the form of a string. EG "disabled", "enabled", or "default".'
			f" Got {type(value)} with value: {value} instead."
		)
	try:
		value = OptionsEnumClass[value.upper()]
	except KeyError:
		raise ValidateError(
			"FeatureFlag value must be specified as a valid enum member string for enum class "
			f"{OptionsEnumClass.__qualname__} (got {value})"
		)
	return FeatureFlag(value, behaviorOfDefault)