BUG: Prevent erroring out when comparing unordered categories with different permutations
- [x] closes #51543
- [ ] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [ ] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [x] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

Previously the hash of the Categorical `dtype` was used for comparing to see if the two `Categorical` instances could be considered equivalent. Even if the categories are the same and the only difference is the order this doesn't always result in the same hash, for example when the categories consist of a combination of string and numeric values.
Hello, @ParthivNaresh , how are things? Looks like you almost finished this, wondering if everything is okay. This pull request is stale because it has been open for thirty days with no activity. Please [update](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#updating-your-pull-request) and respond to this comment if you're still interested in working on this. Thanks for the pull request, but it appears to have gone stale. If interested in continuing, please merge in the main branch, address any review comments and/or failing tests, and we can reopen.