General opposites:
* Cheerful
* Happy
* Joyful
* Merry
* Bright
* Pleasant
* Hopeful
* Optimistic
* Encouraging
* Uplifting
* Lighthearted
* Lively
* Vibrant
Opposites related to specific contexts:
* For a situation or expression: Smiling, jovial, light, relaxed, serene, peaceful, easygoing
* For a person's demeanor: Friendly, amiable, pleasant, kind, welcoming, warm, approachable
* For a future outlook: Promising, hopeful, bright, optimistic, encouraging
* For a description of a place: Beautiful, idyllic, picturesque, lovely, charming, inviting
The best antonym for "grim" will depend on the specific context in which the word is used.