Heat oven to 350° F. Coat a shallow 1 1/2-quart baking dish with nonstick cooking spray.
Melt butter in a medium saucepan over medium heat. Add flour and whisk until smooth. Whisk in milk, salt, pepper, nutmeg and cayenne. Bring to a simmer; cook, simmering, 3 minutes. Remove from heat and whisk in Swiss cheese and cream cheese until smooth.
Combine artichoke hearts, spinach and garlic in a food processor and process until evenly blended and chopped. Fold into cheese sauce and pour into prepared dish. Spread smooth and top with grated Asiago or Parmesan. Bake at 350° F for 30 minutes, or until bubbly around edges. Serve warm with endive and crackers for scooping.