Here is the hint, you could assign citizens based on their talents / preferences (score). The higher the score they have to a specific category, the more likely they enjoy the jobs.

For example, If Amber loves to work in "income" type building (Her corresponding score is higher than others), so when you assign her to the income type buildings such as a Safe-box or a Cash register, she will be satisfied and work with a big smile. In the same time, the happy worker will generate more coins/hour! 

Note: One must have score higher than 8 to a specific category to have a smily face when working in that corresponding building.