To solve this optimization problem, we first need to define the decision variables and the objective function. Let's denote the number of cups of orange juice as $x$ and the number of cups of apple juice as $y$. The objective is to minimize the total amount of Vitamin K in the mix, which can be represented as $3x + 9y$ since a cup of orange juice contains 3 units of Vitamin K and a cup of apple juice contains 9 units of Vitamin K.

The constraints based on the vitamins' requirements are:
1. For Vitamin A: $6x + 10y \geq 100$
2. For Vitamin D: $5x + 3y \geq 200$
3. For Vitamin E: $12x + 15y \leq 150$

We also need to ensure that the amounts of orange and apple juice are non-negative since we cannot have a negative amount of any drink.

Now, let's translate this problem into Gurobi code in Python:

```python
from gurobipy import *

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

# Define the decision variables
x = m.addVar(name="orange_juice", lb=0)  # Amount of orange juice
y = m.addVar(name="apple_juice", lb=0)   # Amount of apple juice

# Define the objective function: Minimize Vitamin K
m.setObjective(3*x + 9*y, GRB.MINIMIZE)

# Add constraints for Vitamin A, Vitamin D, and Vitamin E
m.addConstr(6*x + 10*y >= 100, name="Vitamin_A")
m.addConstr(5*x + 3*y >= 200, name="Vitamin_D")
m.addConstr(12*x + 15*y <= 150, name="Vitamin_E")

# Optimize the model
m.optimize()

# Print out the results if the model is optimal
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Orange Juice: {x.x}")
    print(f"Apple Juice: {y.x}")
    print(f"Total Vitamin K: {3*x.x + 9*y.x}")
else:
    print("Model is not optimal")
```