1. If using precooked bacon, allow to cool then chop. If using fresh bacon, fry bacon in a large skillet over medium heat. Transfer to a paper towel-lined dish, allow to cool, and then chop.
2. Core cauliflower and chop the florets into small pieces.
3. In a large pot of boiling salted water, boil cauliflower until soft. 15 to 18 minutes for chunkier texture or 20 to 22 minutes for super-smooth texture.
4. Meanwhile, in a large mixing bowl, combine the sour cream, cream cheese, Parmesan cheese, green onions, garlic powder, and two-thirds of the bacon.
5. Preheat oven to 350°F.
6. Drain cauliflower well and pour cauliflower over cream cheese mixture into the bowl. Mash with a potato masher or whisk until the constistency of your liking. Season to taste with salt and pepper.
7. Spread the cauliflower mixture evenly in an 8-inch square casserole dish. Top with cheddar cheese and remaining bacon.
8. Bake for 15 to 20 minutes, until cheese is melted. Garnish with chopped green onions before serving.