## Step 1: Define the symbolic representation of the problem

Let's denote the number of fishes caught as $x_1$ and the number of birds caught as $x_2$. The objective is to maximize the points, which can be represented as $4x_1 + 6x_2$.

## Step 2: Identify the constraints

The constraints based on the problem description are:
1. $x_1 \geq 6$ (at least 6 fishes)
2. $x_2 \geq 2$ (at least 2 birds)
3. $x_1 \leq 9$ (at most 9 fishes)
4. $x_2 \leq 4$ (at most 4 birds)
5. $x_1 + x_2 \leq 12$ (no more than 12 animals in total)

## 3: Symbolic representation in JSON format

```json
{
    'sym_variables': [('x1', 'fishes'), ('x2', 'birds')],
    'objective_function': '4*x1 + 6*x2',
    'constraints': [
        'x1 >= 6',
        'x2 >= 2',
        'x1 <= 9',
        'x2 <= 4',
        'x1 + x2 <= 12'
    ]
}
```

## 4: Convert the problem into Gurobi code

To solve this linear programming problem using Gurobi, we will use the Gurobi Python interface. First, ensure you have Gurobi installed in your Python environment. You can install it via pip: `pip install gurobi`.

```python
import gurobi as gp

# Create a new model
model = gp.Model("fish_bird_catch")

# Define the variables
x1 = model.addVar(lb=0, ub=gp.GRB.INFINITY, name="fishes")
x2 = model.addVar(lb=0, ub=gp.GRB.INFINITY, name="birds")

# Set bounds and constraints
x1.lb = 6
x2.lb = 2
x1.ub = 9
x2.ub = 4

# Add constraints
model.addConstr(x1 <= 9, name="max_fishes")
model.addConstr(x2 <= 4, name="max_birds")
model.addConstr(x1 + x2 <= 12, name="total_animals")

# Objective function
model.setObjective(4 * x1 + 6 * x2, gp.GRB.MAXIMIZE)

# Optimize the model
model.optimize()

# Print the results
if model.status == gp.GRB.OPTIMAL:
    print("Optimal solution found.")
    print(f"Catch {x1.varValue} fishes and {x2.varValue} birds to maximize points.")
else:
    print("No optimal solution found.")
```

This Gurobi code defines the variables, sets their bounds, adds constraints, specifies the objective function, and then solves the model. If an optimal solution is found, it prints out the optimal number of fishes and birds to catch.