Prep and preheat the grill on medium high heat.
Grate 2 tsp of lemon zest and squeeze 2 tbsp of juice from the lemon. Cut the avocado in half and remove the pit.
On a plate rub 1/2 tsp of oil and a pinch of salt all over the corn and the cut sides of the avocado. In a small bowl, combine the garlic, oregano, cayenne, lemon zest, 1/4 tsp salt and remaining oil. Place the fish on a plate, pour half of the marinade mixture over the fish and work to coat all sides. Wash your hands before the next step.
On a different plate place the beef and rub all the remaining marinade mixture to cover all sides.
Place the fish, steak, corn and avocado (cut side down) on the hot grill grates. Turn the fish after 1-2 minutes, it will be done when it looks opaque throughout, remove and put on a clean plate to rest. Cook the steak for 2 minutes per side and remove to a clean plate to rest. Cook the corn and avocado for approximately 4-5 minutes or until charred, turning the corn often.
While the meat is resting, warm the shells. Wrap shells in foil to keep warm until ready to fill.
Cut the kernels off the cob. Peel and finely chop the avocado. Break the fish into chunks and cut the steak into thin strips. In a large bowl, mix the tomato, corn, avocado, lettuce, lemon juice and a 1/4 tsp of salt.
Divide the fish, steak and tomato mixture between the shells, top with cheese and cilantro. Serve with a lime wedge.