public static function validate($value, $strict = true)
    {
        if (static::isValidValue($value, $strict) === false) {
            throw new InvalidEnumValueException(static::getConstants());
        }
        return $value;
    }