Heat butter in a large saucepan to medium heat. Add onion and saute 3-4 minutes, until very soft. Add garlic and saute 30-60 seconds, until fragrant. Whisk in flour and allow to cook 3-4 minutes. Turn up heat to medium-high. Slowly whisk in milk until combined. Allow to cook, whisking frequently, for 2-3 minutes. Turn down heat to medium and whisk in cooked sweet potato until combined. If mixture is lumpy, use an immersion blender to puree until very smooth. Stir in chili powder, salt, black pepper and cayenne. Whisk in cheeses and allow to simmer until cheese is completely melted. Stir in lime juice. Taste and adjust seasoning, if necessary.