20.7
```
SELECT indexOf(['a', 'b', 'c'], toLowCardinality('a'))

┌─indexOf(['a', 'b', 'c'], toLowCardinality('a'))─┐
│                                               1 │
└─────────────────────────────────────────────────┘
```

20.8
```
SELECT indexOf(['a', 'b', 'c'], toLowCardinality('a'))


Received exception from server (version 20.8.3):
Code: 43. DB::Exception: Received from localhost:9000. DB::Exception: Types of array and 2nd argument of function "indexOf" must be identical up to nullability, cardinality, numeric types, or Enum and numeric type. Passed: Array(String) and LowCardinality(String).. 
```

https://github.com/ClickHouse/ClickHouse/pull/12550

/cc @myrrc 

{
        const auto [null_map_data, null_map_item] = data.maps;
        const ColumnString& left = *typeid_cast<const ColumnString* const>(&data.left);
        if (data.right.onlyNull())
            Impl::Null<ConcreteAction>::process(
                data.offsets,
                data.result->getData(),
                null_map_data);
        else if (const auto *const item_arg_const = checkAndGetColumnConstStringOrFixedString(&data.right))
        {
            const ColumnString * item_const_string =
                checkAndGetColumn<ColumnString>(&item_arg_const->getDataColumn());
            const ColumnFixedString * item_const_fixedstring =
                checkAndGetColumn<ColumnFixedString>(&item_arg_const->getDataColumn());
            if (item_const_string)
                Impl::String<ConcreteAction>::process(
                    left.getChars(),
                    data.offsets,
                    left.getOffsets(),
                    item_const_string->getChars(),
                    item_const_string->getDataAt(0).size,
                    data.result->getData(),
                    null_map_data,
                    null_map_item);
            else if (item_const_fixedstring)
                Impl::String<ConcreteAction>::process(
                    left.getChars(),