When do INSERT SELECT to a table with different types of columns (even Enums and Strings considered different), you need to add explicit cast expressions.
To cast one type to another, there are two ways:
1. toT family of functions, like toString, toUInt32... for simple data types.
2. CAST expression, like CAST(x AS Enum8('hello' = 1, 'world' = 2)) for more complex data types, like Enums.
CAST expression is not yet documented, but it works as expected.
Example: INSERT INTO t1 SELECT CAST(x AS Enum8('hello' = 1, 'world' = 2)) AS x FROM t2