This can be handled by transforming this to a bilinear problem, i.e., a problem only involving products of no more than 2 variables at a time.
This is accomplished by lifting the problem into a higher dimension, i.e., by introducing new variables and corresponding constraints.
For instance, the term $x^3$ can be made bilinear (quadratic), by introducing a new variable $y$, adding the constraint $y=x^2$, and rewriting $x^3$ as $xy$.
Let's say you have a term $x^2w$. Introduce a new variable $z$, add the constraint $z=xw$, and rewrite $x^2w$ as $xz$.
This can be extended to an arbitrary polynomial in any degree and number of variables, resulting in a bilinear formulation, which can be solved to global optimality (run time and memory permitting) by Gurobi 9.x. You will need to set the NonConvex parameter appropriately to handle a non-convex bilinear model.
Gurtobi 9.1 does not automate this for polynomials "above" bilinear (quadratic). Perhaps some future version might. Some optimization modeling systems actually do automate this; for instance, YALMIP automatically reformulates polynomial matrix inequalities as Bilinear Matrix Inequalities (BMI) by lifting (adding new variables and constraints).
This lifting approach is discussed at greater length in the context of linear matrix inequalities in Optimization on linear matrix inequalities for polynomial systems control. The general idea is the same for polynomial optimization.