Les énumérations peuvent également avoir des méthodes statiques. L'utilisation de méthodes statiques sur une énumération elle-même est principalement pour les constructeurs alternatifs. Par exemple :
<?php
enum Size
{
    case Small;
    case Medium;
    case Large;
    public static function fromLength(int $cm): static
    {
        return match(true) {
            $cm < 50 => static::Small,
            $cm < 100 => static::Medium,
            default => static::Large,
        };
    }
}
?>
Les méthodes statiques peuvent être publiques, privées ou protégées, bien que privées et protégées sont équivalentes car l'héritage n'est pas autorisé.