Heat a saute pan over medium-high heat and add oil to coat bottom of pan. Add fennel and season with salt and pepper. Cook for 4 to 5 minutes until softened and browned.
In the meantime, add palm sugar and rice vinegar to a hot saucepan. Cook to dissolve sugar and add grapefruit juice. Remove from heat.
Heat a cast iron skillet over medium heat and add oil to coat bottom. Place fish fillets in pan, skin side down, and press down with fingers to prevent fish from curling up. Cook 5 minutes, or until flesh around edges is no longer translucent. Add 1 tablespoon butter to pan, remove from heat and allow butter to brown. Carefully turn fillets over and cook one more minute.
Push fennel to one side of pan and add remaining butter to empty side. Add jalapeno and shallot and cook 1 to 2 minutes, until aromatic. Toss to mix jalapeno and shallot with fennel. Place fennel on serving plate and top with snapper, crispy skin side up.
Add a little olive oil to same pan used to cook fennel and place over medium-high heat. Add Swiss chard and season with salt and pepper. Toss a couple times then add vinegar mixture. Toss again and spoon Swiss chard on top of fish.