Heat the oil in a large pot over medium heat. Add the onions and cook, stirring occasionally, until translucent, about 5 minutes. Stir in the garlic and cook, stirring occasionally, until slightly golden, 2 to 3 minutes. Add the beef, breaking it up with a wooden spoon, and cook for about 5 minutes. Add the chili powder, cumin, oregano, salt, cayenne and chile paste and stir until the beef is coated with the seasonings. Add the tomatoes with their juices, beans, enchilada sauce and chocolate and stir. Reduce the heat, cover and simmer until thickened, stirring occasionally, about 30 minutes.
Garnish the chili with your desired toppings and serve.