Help optimize wifi g.house project: ada.frt cc3000 br.out shield and motr.shield

But since i want this project to be as power efficient as possible i thinking of including a TPIC63595 in a way to break power to all parts except one. That way only one sensor/motor will be on at a time. In suggestions on how i can do this?

Why not just do that in software?

int motorPin[] = {8,9,5,4};

void startMotor(int motorId)     // n = { 0, 1, 2, 3 }
{
  if (motorId < 0 || motorId > 4) return; // skip invalid values
  stopMotors();
  digitalWrite(motorPin[motorId], HIGH);
}
    
void stopMotors()
{
  for (int i=0; i< 4; i++) 
  {
    digitalWrite(motorPin[i], LOW);
  }
}

The stopMotors() in the startMotor(x) will be so short that the motor will keep spinning in practice if you start the same motor.
You can improve on this scheme by tracking the current running motor or adding a delay between the soptMotors() and the start of the one you want.
Also you might print an error if the parameter motorId has an invalid value