BUG: Correct crosstab for categorical inputs
Change catch types to reflect error changes

closes #37465

- [X] closes #37465
- [X] tests added / passed
- [X] passes `black pandas`
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [X] whatsnew entry (N/A: Never released, caught in statsmodels pre-release testing)
