Bring a large Dutch oven to medium heat and add the fat.
Sauté onion, garlic, and salt 1-2 minutes until onions are slightly translucent, stirring frequently.
Add beans, water, broth, cumin, and bay leaves to pot. Turn heat to medium-low and cook for 1-½ hours until tender.
In the meantime, whisk together grapefruit juice, agave, salt pepper.
Slowly pour in olive oil into grapefruit mixture while continuously whisking, then refrigerate.
Once the beans are tender, drain the beans and discard the onion and bay leaves.
Pull the vinaigrette from the fridge and re-whisk for a moment to recombine the ingredients, then toss with the sliced pepper and beans.
Garnish with roughly chopped cilantro, crumbled queso fresco, or toasted pepitas.