For the wrapper to truly act as a wrapper, it should accept raw categorical values (e.g. strings).
Currently, TTC requires users to manually encode categorical values into integers beforehand. As a result, the wrapper only works with integer-encoded categorical features and labels, which is overly restrictive and not the expected behavior of a wrapper per se.
We should provide objects/functions/utils to encode labels and categorical variables. The wrapper, at the end of the day, should support truly raw data.