Using variables when specifying location of the module in Terraform

I am trying to run this code:

locals {
    terraform_modules_git = "git::ssh://"
    terraform_modules_module = "resource_group?ref=v15.0.0"

module "MyModuleCall" {
    source = "${local.terraform_modules_git}/${local.terraform_modules_module}"

And I get this error:

Error: Variables not allowed

  on line 12, in module "MyModuleCall":
  12:   source = "${local.terraform_modules_git}/${local.terraform_modules_module}"

Variables may not be used here.

Does anybody know why they have put this limitation?
What is wrong with using variables?
Does anybody see any work around?