To solve the given optimization problem, we first need to translate the natural language description into a symbolic representation. This involves defining variables for each of the objects mentioned (milligrams of vitamin E, milligrams of vitamin B12, and milligrams of vitamin A), formulating the objective function using these variables, and then listing all constraints in terms of these symbolic variables.

Let's define:
- \(x_1\) as the quantity of milligrams of vitamin E,
- \(x_2\) as the quantity of milligrams of vitamin B12,
- \(x_3\) as the quantity of milligrams of vitamin A.

The objective function to minimize is: \(8x_1 + 2x_2 + x_3\).

The constraints are:
1. Muscle growth index for \(x_1\) (vitamin E) is 31.
2. Muscle growth index for \(x_2\) (vitamin B12) is 14.
3. Muscle growth index for \(x_3\) (vitamin A) is 28.
4. Total muscle growth index from \(x_1\) and \(x_3\) must be \(\geq 26\): \(31x_1 + 28x_3 \geq 26\).
5. Total muscle growth index from \(x_2\) and \(x_3\) must be \(\geq 41\): \(14x_2 + 28x_3 \geq 41\).
6. Total muscle growth index from all three must be \(\geq 41\): \(31x_1 + 14x_2 + 28x_3 \geq 41\).
7. \(4x_1 - 3x_3 \geq 0\).
8. \(8x_2 - 2x_3 \geq 0\).

All variables (\(x_1, x_2, x_3\)) can be non-integer.

Thus, the symbolic representation of the problem is:
```json
{
    'sym_variables': [('x1', 'milligrams of vitamin E'), ('x2', 'milligrams of vitamin B12'), ('x3', 'milligrams of vitamin A')],
    'objective_function': '8*x1 + 2*x2 + x3',
    'constraints': [
        '31*x1 + 28*x3 >= 26',
        '14*x2 + 28*x3 >= 41',
        '31*x1 + 14*x2 + 28*x3 >= 41',
        '4*x1 - 3*x3 >= 0',
        '8*x2 - 2*x3 >= 0'
    ]
}
```

Now, let's write the Gurobi code for this problem:

```python
from gurobipy import *

# Create a new model
m = Model("Vitamin_Optimization")

# Create variables
x1 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="milligrams_of_vitamin_E")
x2 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="milligrams_of_vitamin_B12")
x3 = m.addVar(lb=0, vtype=GRB.CONTINUOUS, name="milligrams_of_vitamin_A")

# Set the objective function
m.setObjective(8*x1 + 2*x2 + x3, GRB.MINIMIZE)

# Add constraints
m.addConstr(31*x1 + 28*x3 >= 26, "muscle_growth_index_E_and_A")
m.addConstr(14*x2 + 28*x3 >= 41, "muscle_growth_index_B12_and_A")
m.addConstr(31*x1 + 14*x2 + 28*x3 >= 41, "total_muscle_growth_index")
m.addConstr(4*x1 - 3*x3 >= 0, "vitamin_E_and_A_ratio")
m.addConstr(8*x2 - 2*x3 >= 0, "vitamin_B12_and_A_ratio")

# Optimize model
m.optimize()

# Print solution
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print("Milligrams of Vitamin E:", x1.x)
    print("Milligrams of Vitamin B12:", x2.x)
    print("Milligrams of Vitamin A:", x3.x)
else:
    print("No optimal solution found.")
```