Categorical fixups

Some fixups for Categoricals.

Fixes: #3678
BTW: did I use the right method to test for lists? OI had expected that `if com.is_list_like(a): np.something(a)` would always work, but not if a is a tuple :-(