REF: Grouper.grouper -> Grouper._gpr_index
ATM we set `self.grouper` in both _get_grouper and in _set_grouper, but to different types.  This changes _set_grouper to set _gpr_index instead, which we can type as `Index | None`