Preheat oven to 350 degrees. With a food processor running, drop garlic cloves and chiles through feed tube one at a time, pureeing each piece before the next addition. Add tomatillos and cilantro; process until smooth.
Heat 1 1/2 tablespoons oil in a medium saucepan over medium-high heat. Add puree; cook, stirring constantly, until mixture has reduced to the consistency of a thick tomato sauce, about 7 minutes. Add chicken broth; reduce heat to medium and simmer for 10 minutes.
Meanwhile, heat remaining 1 1/2 tablespoons oil in a large skillet over medium-high heat. Add mushrooms; cook, stirring constantly, until they begin to brown. Add three-quarters of the onion, reserving the rest for garnish; cook, stirring frequently, until onion is translucent, 1 to 2 minutes. Add spinach and chicken, if using; cook, stirring constantly, until spinach is wilted, about 1 minute. Season with salt. Cover to keep warm; set aside.
Lay tortillas on a clean work surface. Spray or brush lightly on both sides with oil; stack in twos and transfer to a parchment paper-lined baking sheet. Bake until tortillas are soft and pliable, about 3 minutes. Stack tortillas in a single pile; cover with a clean kitchen towel to keep warm.
Stir crema into sauce; season with salt. Taste sauce; if too tart, add sugar, if desired. Holding tortilla by one edge, dip into sauce, and then lay it on a plate. Spoon a heaping 2 tablespoons filling down the center, roll it up, and lay seam-side down on a dinner plate. Repeat with 2 more tortillas. Top enchiladas with about 1/4 cup of the tomatillo sauce, sprinkle with 2 tablespoons cheese, and garnish with reserved onion and cilantro. Assemble remaining enchiladas, 3 to a plate; serve immediately.