On latest Xarray (>2025.04.0), you can do
import xarray as xr
from xarray.groupers import SeasonGrouper
ds = xr.tutorial.open_dataset("air_temperature")
ds.groupby(time=SeasonGrouper(["JJAS", "ON", "MAM", "DJF"])).mean()
https://docs.xarray.dev/en/latest/user-guide/time-series.html#handling-seasons