In a large pot or dutch oven over medium heat, sauté onions and celery in butter or olive oil until tender.
Pour in the chicken broth and bring to a boil.
Add the potatoes. Simmer over low heat until the potatoes are tender, stirring occasionally. If you like a smoother texture, blend with an immersion blender.
Stir in the corn, ham or bacon, and green chiles. Return to a boil.
Using a whisk, mix the gravy mix into the milk until there are no lumps.
Pour the milk mixture into the boiling potato mixture. Cook and stir until mixture begins to thicken slightly.
Add cheese. Cook and stir over low heat until cheese is melted.
Season to taste with salt and pepper.
Serve hot, garnished with cheese or green onions if desired.