src/Abstracts/aField.php
private function setEnumerator($enum) : void 
    {
        if (is_string($enum) === true) {
            if (file_exists($enum) === false) {
                $msg = "The target enumerator file description does not exist.";
                throw new \InvalidArgumentException($msg);
            } else {
                $enum = include $enum;

                if (is_array($enum) === false) {
                    $msg = "The target enumerator file does not have a valid array.";
                    throw new \InvalidArgumentException($msg);
                }
            }
        }



        if (count($enum) === 0) {
            $msg = "Invalid enumerator value. The given array is empty.";
            throw new \InvalidArgumentException($msg);
        } else {
            if (is_assoc($enum) === true) {
                $msg = "Invalid enumerator value. Can not be an assoc array.";
                throw new \InvalidArgumentException($msg);
            } else {
                $rEnum = [];

                foreach ($enum as $val) {
                    $v = $val;

                    if (is_array($v) === true) {
                        if (count($v) !== 2) {
                            $msg = "Invalid enumerator value. Multidimensional arrays must have 2 values defined.";
                            throw new \InvalidArgumentException($msg);
                        } else {
                            $v = $val[0];
                        }
                    }


                    $ivCV = $this->individualValue_CheckValue($v);
                    if ($ivCV["valid"] === false) {
                        $msg = "Invalid enumerator value.";
                        throw new \InvalidArgumentException($msg);
                    } else {
                        $v = $this->individualValue_RetrieveInStorageFormat($v);

                        if (is_array($val) === true) {
                            $rEnum[] = [$v, $val[1]];
                        } else {
                            $rEnum[] = $v;
                        }
                    }
                }

                $this->enumerator = $rEnum;
            }
        }
    }
private function setEnumerator($enum) : void 
    {
        if (is_string($enum) === true) {
            if (file_exists($enum) === false) {
                $msg = "The target enumerator file description does not exist.";
                throw new \InvalidArgumentException($msg);
            } else {
                $enum = include $enum;

                if (is_array($enum) === false) {
                    $msg = "The target enumerator file does not have a valid array.";
                    throw new \InvalidArgumentException($msg);
                }
            }
        }



        if (count($enum) === 0) {
            $msg = "Invalid enumerator value. The given array is empty.";
            throw new \InvalidArgumentException($msg);
        } else {
            if (is_assoc($enum) === true) {
                $msg = "Invalid enumerator value. Can not be an assoc array.";
                throw new \InvalidArgumentException($msg);
            } else {
                $rEnum = [];

                foreach ($enum as $val) {
                    $v = $val;

                    if (is_array($v) === true) {
                        if (count($v) !== 2) {
                            $msg = "Invalid enumerator value. Multidimensional arrays must have 2 values defined.";
                            throw new \InvalidArgumentException($msg);
                        } else {
                            $v = $val[0];
                        }
                    }


                    $ivCV = $this->individualValue_CheckValue($v);
                    if ($ivCV["valid"] === false) {
                        $msg = "Invalid enumerator value.";
                        throw new \InvalidArgumentException($msg);
                    } else {
                        $v = $this->individualValue_RetrieveInStorageFormat($v);

                        if (is_array($val) === true) {
                            $rEnum[] = [$v, $val[1]];
                        } else {
                            $rEnum[] = $v;
                        }
                    }
                }

                $this->enumerator = $rEnum;
            }
        }
    }
Define a coleção de valores que este campo está apto a assumir.

O array pode ser unidimensional ou multidimensional,
no caso de ser multidimensional, cada entrada deverá ser um novo
array com 2 posições onde a primeira será o valor real do campo
e o segundo, um "label" para o mesmo.

Os valores aqui pré-definidos devem seguir as mesmas regras de
validação para o campo.

@example
<pre>
$arr = [
["RS", "Rio Grande do Sul"],
["SC", "Santa Catarina"],
["PR", "Paraná"]
];
</pre>

@param       string|array $enum
Array a ser definido como enumerador.

@return      void

@throws      \InvalidArgumentException
Caso o argumento passado não seja válido.