BUG: Allow IntervalIndex to be constructed from categorical data with appropriate dtype
- [X] closes #21243
- [X] closes #21253
- [X] tests added / passed
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [X] whatsnew entry

Added this to 0.23.1 since it's a regression and the fix is a minor change outside the `IntervalIndex` class.  Not opposed to pushing to 0.24.0 if backporting this could be problematic.