TYPING: Partial typing of Categorical
Adds some typing to ``Categorical``.

This PR does the simpler typing of ``Categorical``. In addition there are some more thorny typing that I've stayed away from for now to see if others can implement the basic types (list-likes etc.).