Cut the pork shoulder into large pieces and season with salt and pepper on all sides.
Heat a Dutch oven over medium-high heat and sear the pork pieces on all sides until golden brown, about 3-4 minutes per side. Remove the pork and set aside.
In the same Dutch oven, sauté the diced onion and minced garlic for 2-3 minutes until softened.
Pour in 1 cup of white wine to deglaze the pot, scraping up any browned bits from the bottom.
Add the zest of 2 oranges, the zest of 1 lime, 1 cup of orange juice, and the juice of 1 lime. Stir to combine.
Pour in 2 cups of broth and stir in the bay leaf, cumin, coriander, chili powder, paprika, and brown sugar.
Return the seared pork to the pot, ensuring it's mostly submerged in the liquid. Bring to a simmer, cover, and transfer to a 300°F oven. Braise for 3-4 hours, or until the pork is fork-tender.
Remove the pork from the oven and shred it using two forks. Discard any large fat pieces.
Skim the excess fat from the braising liquid and return the liquid to the stovetop. Simmer for 5-10 minutes to reduce slightly.
Optionally, spread the shredded pork on a baking sheet and broil for 2-3 minutes to add crispy edges.
Warm taco shells and fill with the shredded pulled pork. Top with avocado, pickled red onions, fresh cilantro, and queso fresco.