高兴 vs 快乐 vs 愉快 vs 幸福: what's the difference?
高兴 means glad, a temporary state of mind. E.g: I'm glad it's sunny today -- 今天是晴天, 我很高兴.

快乐 means happy, and I agree it's the only one in the list that can be used for festivals. E.g. 节日快乐 (happy holiday). 我很快乐 (I'm very happy -- in this case same as 高兴).

愉快 means pleasant. That's why you see it used with "weekend" -- have a pleasant weekend = 周末愉快. It's less common to say something like 我很愉快.

幸福, I agree, is a deeper kind of happiness for describing a long-lasting state of mind. I am 幸福 because I have my dream job, a lovely wife and two kids; I am 幸福 because I know my parents love me deeply; etc.

This is my two cents as a native Chinese speaker -- hopefully it helps!