To convert the given natural language description of an optimization problem into functional Gurobi code, we need to carefully translate each part of the problem into mathematical expressions that can be understood by Gurobi's Python interface. The goal is to maximize a specific objective function subject to several constraints.

The objective function aims to maximize \(1 \times (\text{chicken breasts})^2 + 8 \times (\text{steaks})^2 + 5 \times (\text{steaks}) \times (\text{lemons}) + 3 \times (\text{lemons})^2 + 5 \times (\text{chicken breasts})\).

Constraints are as follows:
1. Umami index constraints for each item.
2. Minimum total combined umami index from steaks squared plus lemons squared is 19.
3. Total combined umami index from chicken breasts and lemons must be at least 11.
4. \(8 \times (\text{chicken breasts})^2 - 3 \times (\text{lemons})^2 \geq 0\).
5. The total combined umami index from chicken breasts plus steaks is less than or equal to 62.
6. The total combined umami index from steaks and lemons must be at most 27.
7. The total combined umami index from chicken breasts and lemons must be at most 32.
8. The total combined umami index from all items (chicken breasts, steaks, lemons) is less than or equal to 32.
9. Non-fractional amount of chicken breasts, whole number amounts of steaks and lemons.

Here's how we can represent these conditions in Gurobi:

```python
from gurobipy import *

# Create a model
m = Model("Optimization_Problem")

# Define variables
chicken_breasts = m.addVar(vtype=GRB.INTEGER, name="chicken_breasts")
steaks = m.addVar(vtype=GRB.INTEGER, name="steaks")
lemons = m.addVar(vtype=GRB.INTEGER, name="lemons")

# Objective function
m.setObjective(1 * chicken_breasts**2 + 8 * steaks**2 + 5 * steaks * lemons + 3 * lemons**2 + 5 * chicken_breasts, GRB.MAXIMIZE)

# Constraints
m.addConstr(steaks**2 + lemons**2 >= 19)  # Minimum combined umami index from steaks and lemons squared
m.addConstr(chicken_breasts + lemons >= 11)  # Total combined umami index from chicken breasts and lemons at least 11
m.addConstr(8 * chicken_breasts**2 - 3 * lemons**2 >= 0)  # Constraint on chicken breasts and lemons squared
m.addConstr(chicken_breasts + 6*steaks <= 62)  # Total combined umami index from chicken breasts plus steaks less than or equal to 62
m.addConstr(6*steaks + 3*lemons <= 27)  # Total combined umami index from steaks and lemons at most 27
m.addConstr(chicken_breasts + 3*lemons <= 32)  # Total combined umami index from chicken breasts and lemons at most 32
m.addConstr(chicken_breasts + 6*steaks + 3*lemons <= 70)  # Total combined umami index less than or equal to upper bound

# Solve the model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print("Optimal solution found.")
    print(f"Chicken Breasts: {chicken_breasts.x}")
    print(f"Steaks: {steaks.x}")
    print(f"Lemons: {lemons.x}")
else:
    print("No optimal solution found.")
```