Changing a GameState from another Script

So basically I have a enum called MissionState which I want to update as the objectives are complete. The enum is created and held within a script which is attached to an empty object and the script is called Game Manager. Currently it looks like this:

using UnityEngine;
using System.Collections;

public class Res : MonoBehaviour {

	void GRes() {
		Screen.SetResolution(1920, 1080, true);
	}
}
public class GameManager : MonoBehaviour {

	enum MissionState
	{
		Objective1,
		Objective2,
		Objective3,
		Objective4
	}

	public GameObject mainDoor;
	
	// Use this for initialization
	void Start () {
		MissionState Objective1;

		//mainDoor.animation.Play ("Door Open");

		//mission1 = new StaticGraphic(Content.Load<Texture2D>("Textures\\mmbg");
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}

Now what I want to do is create a box collider and attach a script to it. In which the MissionState will be changed with the OnTriggerEnter.

My problem is this, I don’t know how to access parts of scripts from other scripts. I could really use some pointers on this one. As I will be doing a lot of things that might change stuff in other scripts so I can see myself having to use it over and over again.

GetComponent examples abound to do this, literally thousands of examples.

Another simple way is in Script A declare

public GameManager gameManager;

That will open a field in the Inspector for the gameobject that Script A is assigned to. Drag/drop the gameobject that Script B(GameMangaer) is attached to into that field. Then in Script A you can access (public) variables, methods, etc on Script B via:

gameManager.someVar = …;