ENH: retain masked EA dtypes in groupby with as_index=False
- [ ] closes #xxxx
- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [x] whatsnew entry

can you rebase and will look again can you rebase again just pushed.  this should be correct, but im also working on another branch that could serve as a state-reducing preliminary Question: it's certainly nice to already preserve the dtype with `as_index=False`, but is it worth adding special code for it now if supporting EAs in the Index will also solve it? (assuming it does) > Question: it's certainly nice to already preserve the dtype with as_index=False, but is it worth adding special code for it now if supporting EAs in the Index will also solve it? (assuming it does)

Good question.  Better to think of this as a disentangling/refactor of BaseGrouper/Grouping with a bonus upside of fixing the broken cases (in fact,  #41529 does most of this _except_ for fixing the as_index cases).  If/when we get the general EA Index , we'll be able to come back and trim this down some more. gentle ping; id like to reclaim momentum on the groupby stuff might call this a bug fix > might call this a bug fix

i think id rather call it an ENH, dont want users to think that other functions for which we havent yet done this are bugs