I also dislike hardcoded tags. I think characteristics should be set in the country definition files by commands like "immigration_attrictiveness_modifier = 150" or something. Hardcoded tags really decrease the options for the use of the tags in custom scenarios.