DEPR: scalar index for length-1-list level groupby
- [x] closes #51583 
- [x] [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
- [x] 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. (nothing new here)
- [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, iterating over a Groupby object that had been initialized with a length-1-list ```level``` parameter (ex. level = [0]) would return scalar indexes as opposed to tuples with only the first element defined (ex. _0_ as opposed to _(0, )_ ). This behavior differs from when using the ```by``` parameter and so the change is motivated.
> Thanks for the PR! This PR doesn't deprecate the behavior, it changes the behavior.
> 
> We need to first warn users that the behavior will change _without_ changing the current behavior.

Well that's very reasonable, should have thought of that...  What's the best way to go about this? Maybe just make a new PR (with an actual "depreciation") and then leave/close this branch so that it can be used for reference when the time is right?  I would suggest just modifying this PR to deprecate the behavior; as you've already demonstrated the changes to enforce that deprecation won't be extensive. I'm not sure how to resolve this failing mypy check, using `is_list_like(level)` together with `len(level)` does not cause any trouble in grouping.py. Anyone got a clue?
  Looks okay to add a type ignore here. We should eventually use a type guard with is_list_like but might now be able to do that just yet. Thanks @august-tengland!