public static function getName( $value ) {

        $constants = array_flip( static::getValues() );

        if( !isset( $constants[ $value ] ) )
            throw new InvalidArgumentException( "Invalid argument passed to Enum::getName: $value is not a valid value in this enum" );

        return $constants[ $value ];
    }