
**Describe the unexpected behaviour**
Clickhouse parses enum object unexpectedly when enum object literal value is 08 or 09. I tried to debug the problem and it seems that  Which::type is returning Float64 and hence ENUMparser is throwing error.

**Notice  dot symbol after 8 literal value in generated SQL .  This is not happening for values 07,01,03... so on . This is failing for only ( = 08 and =09)**

**How to reproduce**
````
 :) CREATE TABLE t1 (`Road_Surface_Condition` Enum8('00 - Unkown' = 0,'07 - Others' = 07,'08 - Loose sand and gravel' = 8, '09 - Spilled liquid' = 9),objectId UInt32)Engine=MergeTree ORDER BY objectId

CREATE TABLE t1
(
    `Road_Surface_Condition` Enum8('00 - Unkown' = 0, '07 - Others' = 7, '08 - Loose sand and gravel' = 8, '09 - Spilled liquid' = 9),
    `objectId` UInt32
)
ENGINE = MergeTree
ORDER BY objectId

Query id: fc946666-baeb-49af-bda2-72df3fd5d6ea

Ok.

0 rows in set. Elapsed: 0.028 sec. 

:) CREATE TABLE t1 (`Road_Surface_Condition` Enum8('00 - Unkown' = 0,'07 - Others' = 07),objectId UInt32)Engine=MergeTree ORDER BY objectId

CREATE TABLE t1
(
    `Road_Surface_Condition` Enum8('00 - Unkown' = 0, '07 - Others' = 7),
    `objectId` UInt32
)
ENGINE = MergeTree
ORDER BY objectId

Query id: ee00d448-d038-4876-85c3-a607b0a85d4c


0 rows in set. Elapsed: 0.003 sec. 

Received exception from server (version 22.3.6):
Code: 57. DB::Exception: Received from localhost:9000. DB::Exception: Table default.t1 already exists. (TABLE_ALREADY_EXISTS)

 :) CREATE TABLE t2 (`Road_Surface_Condition` Enum8('00 - Unkown' = 0,'07 - Others' = 07),objectId UInt32)Engine=MergeTree ORDER BY objectId

CREATE TABLE t2
(
    `Road_Surface_Condition` Enum8('00 - Unkown' = 0, '07 - Others' = 7),
    `objectId` UInt32
)
ENGINE = MergeTree
ORDER BY objectId

Query id: f6eb283f-0480-43ad-8fc0-08925a6a13e5

Ok.

0 rows in set. Elapsed: 0.027 sec. 
 :) `
```

* Which ClickHouse server version to use
 v22.6

* Which interface to use, if matters
command line client. 

**Expected behavior**
Table should be created successfully with specified Enum column .

**Error message and/or stacktrace**
```
Received exception from server (version 22.3.6):
Code: 223. DB::exception: Received from localhost:9000. DB::exception: Elements of Enum data type must be of form: 'name' = number, where name is string literal and number is an integer. (UNEXPECTED_AST_STRUCTURE)
```

**Additional context**

else if (function_name_lowercase == "exists")
        parsed_special_function = parseExists(pos, node, expected);
    else if (function_name_lowercase == "trim")
        parsed_special_function = parseTrim(false, false, pos, node, expected);
    else if (function_name_lowercase == "ltrim")
        parsed_special_function = parseTrim(true, false, pos, node, expected);
    else if (function_name_lowercase == "rtrim")
        parsed_special_function = parseTrim(false, true, pos, node, expected);
    else if (function_name_lowercase == "dateadd" || function_name_lowercase == "date_add"
        || function_name_lowercase == "timestampadd" || function_name_lowercase == "timestamp_add")
        parsed_special_function = parseDateAdd("plus", pos, node, expected);
    else if (function_name_lowercase == "datesub" || function_name_lowercase == "date_sub"
        || function_name_lowercase == "timestampsub" || function_name_lowercase == "timestamp_sub")
        parsed_special_function = parseDateAdd("minus", pos, node, expected);
    else if (function_name_lowercase == "datediff" || function_name_lowercase == "date_diff"
        || function_name_lowercase == "timestampdiff" || function_name_lowercase == "timestamp_diff")
        parsed_special_function = parseDateDiff(pos, node, expected);
    else if (function_name_lowercase == "grouping")
        parsed_special_function = parseGrouping(pos, node, expected);
    if (parsed_special_function.has_value())
        return parsed_special_function.value() && ParserToken(TokenType::ClosingRoundBracket).ignore(pos);
    auto pos_after_bracket = pos;
    auto old_expected = expected;
    ParserKeyword all("ALL");
    ParserKeyword distinct("DISTINCT");
    if (all.ignore(pos, expected))
        has_all = true;
    if (distinct.ignore(pos, expected))
        has_distinct = true;
    if (!has_all && all.ignore(pos, expected))