Use cases of Trace_ELBO () and TraceEnum_ELBO()

When does one prefer to use Trace_ELBO() and TraceEnum_ELBO() . Under what conditions or constraints ? It would be very helpful. Thanks!!

Use Trace_ELBO or TraceGraph_ELBO when you want to use control variates to reduce variance in gradient estimators for non-reparametrizable distributions (e.g. discrete distributions when enumeration is intractable, as in Attend-Infer-Repeat). Use TraceEnum_ELBO when you want to integrate out discrete variables in your model or guide with enumeration.