public static function validateEnum($domain, $type, $value)
    {
        self::validateEnumDomainAndType($domain, $type);

        if (!in_array($value, self::$enum[$domain][$type]['values'], true)) {
            throw new \InvalidArgumentException(
                sprintf('Unknown value "%s" for "%s"', $value, $type)
            );
        };
    }