**Describe the issue**
Can't insert `String` data to column with `LowCardinality` type.

Starting from 21.1 this query fails

**How to reproduce**
```sql
CREATE TABLE default.lc_test
(   
    `id` LowCardinality(String)
)
ENGINE = MergeTree
PARTITION BY tuple()
ORDER BY id;

Ok.
0 rows in set. Elapsed: 0.003 sec.


insert into lc_test values (toString('a'));
Exception on client:
Code: 49. DB::Exception: Bad cast from type DB::ColumnString to DB::ColumnLowCardinality: data for INSERT was parsed from query

```

**Additional context**
related to issue https://github.com/DarkWanderer/ClickHouse.Client/issues/66

version 20.12 ok
++buf.position();
        }
        else if (*buf.position() == '\'')
        {
            quoted ^= true;
            ++buf.position();
        }
        else if (*buf.position() == ')')
        {
            ++buf.position();
            if (!quoted)
                --balance;
        }
        else if (*buf.position() == '(')
        {
            ++buf.position();
            if (!quoted)
                ++balance;
        }
    }
    if (!buf.eof() && *buf.position() == ',')
        ++buf.position();
    return true;
}
void ValuesBlockInputFormat::assertDelimiterAfterValue(size_t column_idx)
{
    if (unlikely(!checkDelimiterAfterValue(column_idx)))
        throwAtAssertionFailed((column_idx + 1 == num_columns) ? ")" : ",", buf);
}
bool ValuesBlockInputFormat::checkDelimiterAfterValue(size_t column_idx)