text: Title: [FR] Add version of `MixtureSameFamily` from Pyro
  Body: I'm finally following up on @fehiepsi 's suggestion that I make this feature request following our conversation in this [issue](https://github.com/arviz-devs/arviz/issues/1661) in the Arviz repo. __But looking over the docs again, it looks like this may have already been implemented with a Tensorflow distribution that may make this FR unnecessary.__ Please feel free to close if that's the case!
  
  In case it's useful anyway, here's what I had written before noticing that in the Tensorflow distributions api:
  
  It would be very useful to me and I imagine anyone else working with finite mixture models to have an implementation of a distribution like Pyro's [MixtureSameFamily](https://docs.pyro.ai/en/dev/distributions.html?highlight=MixtureSameFamily#pyro.distributions.MixtureSameFamily). Numpyro's ability to enumerate over and otherwise manage discrete variables is awesome, but for many finite mixture models it can also be useful to explicitly marginalize out discrete latent variables (e.g. see this example in the [Stan manual](https://mc-stan.org/docs/2_24/stan-users-guide/summing-out-the-responsibility-parameter.html). This is required for traditional implementations of HMC, but it seems like it would be useful even with Numpyro's additional capabilities both for speed and cases where the number of latent mixtures is large.
  