To solve the optimization problem described, we first need to translate the natural language description into a symbolic representation. This involves identifying the variables, the objective function, and the constraints.

The variables are:
- `x1`: hours worked by Bill
- `x2`: hours worked by Jean

The objective function is to maximize: `7.94*x1 + 3.2*x2`

The constraints are:
1. Total combined dollar cost per hour from hours worked by Bill and Jean should be no less than 15.
2. `-6*x1 + 3*x2 >= 0`
3. The total combined dollar cost per hour from hours worked by Bill and Jean has to be as much or less than 42.
4. Since the cost per hour for Bill is $6 and for Jean is $12, we have: `6*x1 + 12*x2 <= 42` and also `6*x1 + 12*x2 >= 15`.
5. `x1` can be a non-whole number (continuous), but `x2` must be an integer.

Thus, the symbolic representation of the problem is:
```json
{
    'sym_variables': [('x1', 'hours worked by Bill'), ('x2', 'hours worked by Jean')],
    'objective_function': '7.94*x1 + 3.2*x2',
    'constraints': [
        '6*x1 + 12*x2 >= 15',
        '-6*x1 + 3*x2 >= 0',
        '6*x1 + 12*x2 <= 42'
    ]
}
```

Now, let's implement this problem in Gurobi using Python:

```python
from gurobipy import *

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

# Define variables
x1 = m.addVar(lb=0, ub=GRB.INFINITY, vtype=GRB.CONTINUOUS, name="hours_worked_by_Bill")
x2 = m.addVar(lb=0, ub=GRB.INFINITY, vtype=GRB.INTEGER, name="hours_worked_by_Jean")

# Set the objective function
m.setObjective(7.94*x1 + 3.2*x2, GRB.MAXIMIZE)

# Add constraints
m.addConstr(6*x1 + 12*x2 >= 15, name="total_cost_lower_bound")
m.addConstr(-6*x1 + 3*x2 >= 0, name="linear_constraint")
m.addConstr(6*x1 + 12*x2 <= 42, name="total_cost_upper_bound")

# Optimize model
m.optimize()

# Print results
if m.status == GRB.OPTIMAL:
    print("Optimal solution found:")
    print(f"Hours worked by Bill: {x1.x}")
    print(f"Hours worked by Jean: {x2.x}")
    print(f"Objective function value: {m.objVal}")
else:
    print("No optimal solution found.")
```