1) Heat a large saute pan over medium heat and pour in enough olive oil to coat the bottom of the pan. Add the garlic and onions and cook until soft and nicely caramelised, about 10-12 minutes.
2) In the meantime, season the chicken with salt and pepper. Sprinkle the flour over the chicken and toss to coat. Heat another large saute pan over medium-high heat and add 3 tablespoons of olive oil. Cook the chicken until it is lightly browned, about 6-8 minutes.
3) Once the onion mixture is caramelised and softened, add the serranos, paprikas, cumin and oregano.
4) When the chicken is done, transfer it to the pan with the onions. Pour in the stock or water and bring to a boil. Reduce the heat and simmer until the sauce is thick and delicious, approximately 20 minutes. Adjust seasoning with salt and pepper.
Serve the tacos alongside the toppings and chicken filling in bowls, allowing allow guests to build their own tacos.