**Describe the unexpected behaviour**
Currently enum is numbered straight through using UInt64 starting from 1, while underlying type either Int8 or Int16 - such inconsistency can lead to some undesirable side effects or run-time errors

**How to reproduce**
current trunk, feature just added in #36101
```
ClickHouse-ubuntu :) CREATE TABLE t (x Enum8(
                     '00','01','02','03','04','05','06','07','08','09','0A','0B','0C','0D','0E','0F',
                     '10','11','12','13','14','15','16','17','18','19','1A','1B','1C','1D','1E','1F',
                     '20','21','22','23','24','25','26','27','28','29','2A','2B','2C','2D','2E','2F',
                     '30','31','32','33','34','35','36','37','38','39','3A','3B','3C','3D','3E','3F',
                     '40','41','42','43','44','45','46','47','48','49','4A','4B','4C','4D','4E','4F',
                     '50','51','52','53','54','55','56','57','58','59','5A','5B','5C','5D','5E','5F',
                     '60','61','62','63','64','65','66','67','68','69','6A','6B','6C','6D','6E','6F',
                     '70','71','72','73','74','75','76','77','78','79','7A','7B','7C','7D','7E','7F'
                     )) ENGINE=MergeTree() order by x;

CREATE TABLE t
(
    `x` Enum8('00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '0A', '0B', '0C', '0D', '0E', '0F', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '1A', '1B', '1C', '1D', '1E', '1F', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '2A', '2B', '2C', '2D', '2E', '2F', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '3A', '3B', '3C', '3D', '3E', '3F', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '4A', '4B', '4C', '4D', '4E', '4F', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '5A', '5B', '5C', '5D', '5E', '5F', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '6A', '6B', '6C', '6D', '6E', '6F', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '7A', '7B', '7C', '7D', '7E', '7F')
)
ENGINE = MergeTree
ORDER BY x

Query id: e5d79db3-5f8f-4030-b6ed-f85238461a73


0 rows in set. Elapsed: 0.006 sec.

Received exception from server (version 22.4.1):
Code: 69. DB::Exception: Received from localhost:9000. DB::Exception: Value 128 for element '7F' exceeds range of Enum8. (ARGUMENT_OUT_OF_BOUND)
```

**Expected behavior**
Not clear - should be developed in this issue.

**Additional context**
issue #36101 

{
    UInt64 literal_child_count = 0;
    UInt64 func_child_count = 0;
    ASTs assign_number_child;
    assign_number_child.reserve(arguments->children.size());
    for (const ASTPtr & child : arguments->children)
    {
        if (child->as<ASTLiteral>())
        {
            ASTPtr func = makeASTFunction("equals", child, std::make_shared<ASTLiteral>(++literal_child_count));
            assign_number_child.emplace_back(func);
        }
        else
        {
            ++func_child_count;
            assign_number_child.emplace_back(child);
        }
    }
    if (func_child_count > 0 && literal_child_count > 0)
        throw Exception("ALL Elements of Enum data type must be of form: 'name' = number or 'name', where name is string literal and number is an integer",
                        ErrorCodes::UNEXPECTED_AST_STRUCTURE);
    arguments->children = assign_number_child;
}
template <typename DataTypeEnum>
static DataTypePtr createExact(const ASTPtr & arguments)