Chain/Nested Variables

I want to create a chained/nested variable for multiple attributes.
For example, I have this resource block:

resource "aws_rds_cluster" "default" {
  cluster_identifier      = "aurora-cluster-demo"
  engine                  = var.db_engine
  engine_version          = var.db_engine_version
  availability_zones      = ["us-west-2a", "us-west-2b", "us-west-2c"]
  database_name           = "pgdb"
  master_username         = "foo"
  master_password         = "bar"
  backup_retention_period = 5
  preferred_backup_window = "07:00-09:00"
  db_cluster_parameter_group_name     = "rds-cluster-pg"
resource "aws_rds_cluster_parameter_group" "default" {
  name        = "rds-cluster-pg"
  family      = var.db_engine_family
  description = "RDS default cluster parameter group"

  parameter {
    name  = "character_set_server"
    value = "utf8"

  parameter {
    name  = "character_set_client"
    value = "utf8"

I have three variables related to each other: db_engine, db_engine_family and db_engine_version.
I would like to know if and how it is possible to chain the three, so if I set db_engine=postgresql, the other variables will match it.
For example:
If db_engine = PostgreSQL, db_engine_version= 13.6 and db_engine_family=aurora-postgresql9.6.
If db_engine=mysql, db_engine_version=5.7.mysql_aurora.2.03.2 and db_engine_family=aurora-mysql5.7.

Thank you