In a soup pot, saute the onions and celery in the oil until the onions are translucent, about 10 minutes. Cover the pot and stir often to prevent sticking.
Add the ginger, curry, nutmeg, bay leaves, and salt. Saute for another minute, stirring constantly. Add the water or stock, sweet potatoes, citrus peel, and rum. Cover and bring to a boil. Reduce the heat and simmer until the vegetables are tender, 15 - 20 minutes.
Remove bay leaves. Add the juice and coconut milk. Puree the soup in batches until smooth. Reheat gently if needed. Stir in the lemon or lime juice.