Bring a pot of salted water to a rapid boil, add the asparagus tips to garnish the soup, cook for about 1 minute or until your desired tenderness is reached. Reserve. This cooking water can be used in the soup instead of the chicken broth if desired.
Heat soup pot, add the butter and onions. Cook stirring for about 2 minutes or until softened and sweet smelling. Add asparagus (reserving tips for garnish), 1 cup of the white beans (reserving 1 cup for garnish), and chicken or vegetable broth. Bring to a boil and turn down to a simmer and cook for about 20 minutes or until all is very tender. Puree in blender, and pass through strainer to remove the stringy pieces on the asparagus. Or if you have a food mill, pass the soup through that and it will puree and strain at once. Return to soup pot. If soup is too thick, adjust to your liking with chicken broth or water. Bring back to a simmer and while stirring, gradually add the Swiss cheese. Season to taste with salt and black pepper. Serve in warm bowls and garnish top with the reserved asparagus tips, and more Swiss cheese.